package demo4;

// 中介者：协调文本框与命令的交互
public class EditorMediator {
    private TextBox textBox; // 关联的文本框
    private String clipboard; // 剪贴板（存储复制/剪切的内容）

    public EditorMediator(TextBox textBox) {
        this.textBox = textBox;
        this.clipboard = "";
    }

    // 处理复制：将选中文本存入剪贴板
    public void copy() {
        String selectedText = textBox.getSelectedText();
        if (!selectedText.isEmpty()) {
            clipboard = selectedText;
            System.out.println("复制成功：" + clipboard);
        } else {
            System.out.println("未选中任何文本，无法复制");
        }
    }

    // 处理剪切：将选中文本存入剪贴板并删除
    public void cut() {
        String selectedText = textBox.getSelectedText();
        if (!selectedText.isEmpty()) {
            clipboard = selectedText;
            textBox.deleteSelectedText();
            System.out.println("剪切成功：" + clipboard);
        } else {
            System.out.println("未选中任何文本，无法剪切");
        }
    }

    // 处理粘贴：将剪贴板内容插入文本框
    public void paste() {
        if (!clipboard.isEmpty()) {
            textBox.insertText(clipboard);
            System.out.println("粘贴成功：" + clipboard);
        } else {
            System.out.println("剪贴板为空，无法粘贴");
        }
    }
}
